State-Action-Model (SAM)パターン
#設計 #アーキテクチャ #状態管理(GUI)
https://sam.js.org/
The View as a Function of the Model
https://scrapbox.io/files/6442173b24ee91001b57ffbe.png
The Elm Architectureの源流
Fluxと意味的にはほぼ同じな単方向データフロー(unidirectional data flow)
フロントエンドでMV*フレームワークを使わない理由
CQRSの視点から考えてみます。このパターンはクエリとコマンドに特別な区別をしないものの、基底となる実装では区別する必要があります
SAMはフロントエンドアーキテクチャのパラダイムを完全に変えます。ビジネスロジックはTLA+の基礎の上に明確に次の3つの仕方で実現されます。
純粋な関数としてのアクション
モデルでのCRUD操作
自動アクションを制御する状態
CQRSとかでやるActionとReducerとEvent Sourcingの話っぽい
SAMはマイクロサービスにも適合します
#マイクロフロントエンド
革新的な旅になりました。数十年のオブジェクト指向の世界は過去のものになっているようです。私はリアクティブ、関数的という言葉なしでは考えられません。私がSAMで構築したものとその構築スピードは前代未聞でした。
#関数型プログラミング
#オブジェクト指向
SAMパターンの大雑把な理解
Flux, Redux, SAMのデータフローをざっくり理解する
#Flux #Redux
---
ステート
Finite State Machine(FSM)
Stateモナド
ステート/オブジェクトのライフサイクル
Action
状態遷移をCommand化して、実行とイベントはランタイムに任せる
ユーザーのインタラクションをCommandで抽象するとテストしやすい
モデリング